package org.upida.validation;

import java.math.BigDecimal;
import java.math.BigInteger;

public interface IMath {
	boolean IsLess(Long a, Long b);
	boolean isGreater(Long a, Long b);
	boolean isLessOrEqual(Long a, Long b);
	boolean isGreaterOrEqual(Long a, Long b);
	boolean isEqual(Long a, Long b);
	boolean isNotEqual(Long a, Long b);

	boolean isLess(Integer a, Integer b);
	boolean isGreater(Integer a, Integer b);
	boolean isLessOrEqual(Integer a, Integer b);
	boolean isGreaterOrEqual(Integer a, Integer b);
	boolean isEqual(Integer a, Integer b);
	boolean isNotEqual(Integer a, Integer b);

	boolean isLess(Short a, Short b);
	boolean isGreater(Short a, Short b);
	boolean isLessOrEqual(Short a, Short b);
	boolean isGreaterOrEqual(Short a, Short b);
	boolean isEqual(Short a, Short b);
	boolean isNotEqual(Short a, Short b);

	boolean isLess(Byte a, Byte b);
	boolean isGreater(Byte a, Byte b);
	boolean isLessOrEqual(Byte a, Byte b);
	boolean isGreaterOrEqual(Byte a, Byte b);
	boolean isEqual(Byte a, Byte b);
	boolean isNotEqual(Byte a, Byte b);

	boolean isLess(Double a, Double b, int decimals);
	boolean isGreater(Double a, Double b, int decimals);
	boolean isLessOrEqual(Double a, Double b, int decimals);
	boolean isGreaterOrEqual(Double a, Double b, int decimals);
	boolean isEqual(Double a, Double b, int decimals);
	boolean isNotEqual(Double a, Double b, int decimals);

	boolean isLess(BigDecimal a, BigDecimal b, int decimals);
	boolean isGreater(BigDecimal a, BigDecimal b, int decimals);
	boolean isLessOrEqual(BigDecimal a, BigDecimal b, int decimals);
	boolean isGreaterOrEqual(BigDecimal a, BigDecimal b, int decimals);
	boolean isEqual(BigDecimal a, BigDecimal b, int decimals);
	boolean isNotEqual(BigDecimal a, BigDecimal b, int decimals);

	boolean isLess(Float a, Float b, int decimals);
	boolean isGreater(Float a, Float b, int decimals);
	boolean isLessOrEqual(Float a, Float b, int decimals);
	boolean isGreaterOrEqual(Float a, Float b, int decimals);
	boolean isEqual(Float a, Float b, int decimals);
	boolean isNotEqual(Float a, Float b, int decimals);

	boolean isLess(BigInteger a, BigInteger b);
	boolean isGreater(BigInteger a, BigInteger b);
	boolean isLessOrEqual(BigInteger a, BigInteger b);
	boolean isGreaterOrEqual(BigInteger a, BigInteger b);
	boolean isEqual(BigInteger a, BigInteger b);
	boolean isNotEqual(BigInteger a, BigInteger b);
}